From: Florian Müllner Date: Wed, 25 Mar 2015 22:35:36 +0000 (+0100) Subject: windowManager: Don't allow move-to-workspace for always-sticky windows X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1423 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=14da6b68dc64f35907ea71214ee1e7c5dc148937;p=gnome-shell.git windowManager: Don't allow move-to-workspace for always-sticky windows "Moving" a window to another workspace doesn't make sense when it cannot be unstuck, and is potentially confusing if a new workspace is added at the start/end - just don't do anything in that case. https://bugzilla.gnome.org/show_bug.cgi?id=746782 --- diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index d04455b9f..bdde74637 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -1626,6 +1626,16 @@ const WindowManager = new Lang.Class({ let newWs; let direction; + if (action == 'move') { + // "Moving" a window to another workspace doesn't make sense when + // it cannot be unstuck, and is potentially confusing if a new + // workspaces is added at the start/end + if (window.is_always_on_all_workspaces() || + (Meta.prefs_get_workspaces_only_on_primary() && + window.get_monitor() != Main.layoutManager.primaryIndex)) + return; + } + if (target == 'last') { direction = Meta.MotionDirection.DOWN; newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);